class Solution {
public:
    string addStrings(string num1, string num2) {
        string str;
        int end1 = num1.size() - 1;
        int end2 = num2.size() - 1;

        int next = 0;
        while (end1 >= 0 || end2 >= 0)
        {
            int val1 = (end1 >= 0) ? num1[end1] - '0' : 0;
            int val2 = (end2 >= 0) ? num2[end2] - '0' : 0;
            end1--;
            end2--;
            int cur = val1 + val2 + next;
            next = cur / 10;
            cur = cur % 10;

            str.push_back(cur + '0');
        }
        if (next == 1)
            str.push_back('1');
        reverse(str.begin(), str.end());
        return str;
    }
};